该程序要完成的目标是读取每个列标题,并读取每个列下面的所有数据。读取此数据后,它将列出该数据并将其全部记录到文本文件中。当处理少量数据时,它可以工作,但是处理大量数据(2000行及以上)时,它在文本文件中记录的数字最多为30,则下一个元素为“ ...”。然后直到第2000个元素为止一直正确地恢复记录。
我已经尽力了。请帮助。我几乎在墙上打了一个洞,试图解决这个问题。
import csv
import pandas as pd
import os
import linecache
from tkinter import *
from tkinter import filedialog
def create_dict(df):
# Creates an empty text file for the dictionary if it doesn't exist
if not os.path.isfile("Dictionary.txt"):
open("Dictionary.txt", 'w').close()
# Opens the dictionary for reading and writing
with open("Dictionary.txt", 'r+') as dictionary:
column_headers = list(df)
i = 0
# Creates an entry in the dictionary for each header
for header in column_headers:
dictionary.write("==========================\n"
"\t=" + header + "=\n"
"==========================\n\n\n\n")
dictionary.write(str(df[str(column_headers[i])]))
#for line in column_info[:-1]:
# dictionary.write(line + '\n')
dictionary.write('\n')
i += 1
可能不会使用其中的某些导入。我只包括了所有这些人。
答案 0 :(得分:0)
您可以直接将pandas数据框写入txt文件中。
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(low = 1, high = 100, size =3000), columns= ['Random Number'])
filename = 'dictionary.txt'
with open(filename,'w') as file:
df.to_string(file)