Python csv生成文件显示为数字而不是科学计数E

问题:
在使用python将数据导出到csv文件中,发现一些有效信息由于位数过长,被显示为科学计数显示了

import csv

aaaa = 12345647784654541514
bbbb = 15645478746135446879
cccc = 12345786

csvfile = open('test.csv', 'w', newline='')
writer = csv.writer(csvfile, delimiter=',')

keys = ("key")
writer.writerow([keys])
writer.writerow([aaaa])
writer.writerow([bbbb])
writer.writerow([cccc])
csvfile.close()

在这里插入图片描述

解决办法:
把这个字段转变为字符串,并且在后面加上看不见的字符"\t"就可以了

import csv

aaaa = 12345647784654541514
bbbb = 15645478746135446879
cccc = 12345786
aaaa1 = str(aaaa)+"\t"
bbbb1 = str(bbbb)+"\t"

csvfile = open('test.csv', 'w', newline='')
writer = csv.writer(csvfile, delimiter=',')

keys = ("key")
writer.writerow([keys])
writer.writerow([aaaa1])
writer.writerow([bbbb1])
writer.writerow([cccc])
csvfile.close()

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是apriori算法的Python实现,使用CSV文件作为输入数据: ``` import csv def load_data(filename): data = [] with open(filename, 'r') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: data.append(row) return data def create_candidate_itemsets(data, k): itemsets = set() for transaction in data: for i in range(len(transaction)): itemset = frozenset([transaction[i]]) if itemset not in itemsets: itemsets.add(itemset) for j in range(i+1, len(transaction)): itemset = frozenset([transaction[i], transaction[j]]) if itemset not in itemsets: itemsets.add(itemset) return itemsets def support_count(itemset, data): count = 0 for transaction in data: if itemset.issubset(transaction): count += 1 return count def filter_candidate_itemsets(itemsets, data, min_support): filtered_itemsets = set() for itemset in itemsets: support = support_count(itemset, data) if support >= min_support: filtered_itemsets.add(itemset) return filtered_itemsets def apriori(data, min_support): itemsets = [] k = 1 candidate_itemsets = create_candidate_itemsets(data, k) while candidate_itemsets: filtered_itemsets = filter_candidate_itemsets(candidate_itemsets, data, min_support) itemsets.append(filtered_itemsets) k += 1 candidate_itemsets = create_candidate_itemsets(filtered_itemsets, k) return itemsets if __name__ == '__main__': data = load_data('data.csv') min_support = 2 itemsets = apriori(data, min_support) print('Frequent itemsets:') for i in range(len(itemsets)): print('k =', i+1) for itemset in itemsets[i]: print(itemset) ``` 在这个示例中,我们假设有一个名为“data.csv”的CSV文件,它包含一些交易,每个交易由多个项目组成,每个项目用逗号分隔。我们使用`load_data`函数加载数据,并将它们存储在一个二维列表中。然后,我们使用`apriori`函数来计算频繁项集。该函数使用一个叫做`min_support`的参数来指定最小支持度。我们还定义了几个辅助函数,例如`create_candidate_itemsets`来生成候选项集,`support_count`计算项集的支持度计数,`filter_candidate_itemsets`过滤掉不满足最小支持度要求的候选项集。最后,我们输出频繁项集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhaixing_0307

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值