仅将一列提取到 csv 而不是所有列
extract only one column to csv instead of all the columns
我在一列(Id、主题、单词)中有 5000 行的 json 数据。我拆分了显示结果的数据 Python 很好,但是当我提取到 SCV 时,它只显示该列的一行。您知道为什么以及如何解决吗?
显示:
0
| 0 |
| -------- |
| word1 |
| word2 |
| word3 |
我需要所有列,而不仅仅是 0
另外,当我在 df=pd.DataFrame(s)
之后打印 df
时,仅显示第一行。为什么?
for row in res:
result=( ''.join(row[0]))
# print(result)
# print("\n")
p = Payload(result)
print(p.ID)
print(p.subject)
s=p.words.split("|")
print(s)
df=pd.DataFrame(s)
for id, col in enumerate(s):
df.to_csv('test.csv', sep='\t', encoding='utf-8')
#out = [s for c in df]
#print(out)
#df_big = pd.concat(out, ignore_index=True, axis=1)
print(id, col)
#print(df)
# writer=pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
# df.to_excel(writer, sheet_name='welcome')
# writer.save()
我相信您想将每一列提取到一个 csv 文件中。
这将遍历数据框中的列并将它们导出到 csv 为 column_name.csv
for col in df.columns.tolist():
df[col].to_csv(os.path.join(col + ".csv"))
您正在为每一行创建一个新的数据框。相反,您可以创建一次数据框并将新行附加到数据框(这仍然效率不高 - 见下文)。
df = pd.DataFrame()
for row in res:
result = ( ''.join(row[0]))
p = Payload(result)
s = p.words.split("|")
df.loc[len(df.index)] = s
df.to_csv('test.csv', sep='\t', encoding='utf-8')
理想情况下,您应该将数据放在列表列表中,您应该从中创建数据框。
data = []
for row in res:
result = ( ''.join(row[0]))
p = Payload(result)
s = p.words.split("|")
data.append(s)
df = pd.DataFrame(data)
inventory = list(Inventory.objects.all())
header = list(Header.objects.all())
setup = list(Setup.objects.all())
revision = list(Revisions.objects.all())
spec = list(SpecificationDetails.objects.all())
review = list(Reviewers.objects.all())
iterates = inventory + header + setup + revision + spec + review
zip_file = list(zip(iterates))
import pandas as pd
df = pd.DataFrame(zip_file, columns = ['Inventory', 'Header','Setup','Revisoin','Spec','Review'])
context = {
'df': df }
return render(request, 'crud/dashboard.html', df)
我在一列(Id、主题、单词)中有 5000 行的 json 数据。我拆分了显示结果的数据 Python 很好,但是当我提取到 SCV 时,它只显示该列的一行。您知道为什么以及如何解决吗?
显示:
0
| 0 |
| -------- |
| word1 |
| word2 |
| word3 |
我需要所有列,而不仅仅是 0
另外,当我在 df=pd.DataFrame(s)
之后打印 df
时,仅显示第一行。为什么?
for row in res:
result=( ''.join(row[0]))
# print(result)
# print("\n")
p = Payload(result)
print(p.ID)
print(p.subject)
s=p.words.split("|")
print(s)
df=pd.DataFrame(s)
for id, col in enumerate(s):
df.to_csv('test.csv', sep='\t', encoding='utf-8')
#out = [s for c in df]
#print(out)
#df_big = pd.concat(out, ignore_index=True, axis=1)
print(id, col)
#print(df)
# writer=pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
# df.to_excel(writer, sheet_name='welcome')
# writer.save()
我相信您想将每一列提取到一个 csv 文件中。
这将遍历数据框中的列并将它们导出到 csv 为 column_name.csv
for col in df.columns.tolist():
df[col].to_csv(os.path.join(col + ".csv"))
您正在为每一行创建一个新的数据框。相反,您可以创建一次数据框并将新行附加到数据框(这仍然效率不高 - 见下文)。
df = pd.DataFrame()
for row in res:
result = ( ''.join(row[0]))
p = Payload(result)
s = p.words.split("|")
df.loc[len(df.index)] = s
df.to_csv('test.csv', sep='\t', encoding='utf-8')
理想情况下,您应该将数据放在列表列表中,您应该从中创建数据框。
data = []
for row in res:
result = ( ''.join(row[0]))
p = Payload(result)
s = p.words.split("|")
data.append(s)
df = pd.DataFrame(data)
inventory = list(Inventory.objects.all())
header = list(Header.objects.all())
setup = list(Setup.objects.all())
revision = list(Revisions.objects.all())
spec = list(SpecificationDetails.objects.all())
review = list(Reviewers.objects.all())
iterates = inventory + header + setup + revision + spec + review
zip_file = list(zip(iterates))
import pandas as pd
df = pd.DataFrame(zip_file, columns = ['Inventory', 'Header','Setup','Revisoin','Spec','Review'])
context = {
'df': df }
return render(request, 'crud/dashboard.html', df)